﻿#pragma once

#include <afxtempl.h>

// Disk management toolkit
class DiskManager
{
public:
    typedef struct _DISK_DRIVE_INFO
    {
        CString szDriveNumber;
        CString szDriveName;
        CString szDriveFilePath;
        LONGLONG nBlockCount;
        LONGLONG nTotalBytes;
    } DISK_DRIVE_INFO, *LPDISK_DRIVE_INFO;

    DiskManager();
    ~DiskManager();

    BOOL Enum();
    BOOL GetInfo(LPDISK_DRIVE_INFO lpDiskDriveInfo, UINT nIndex) const;
    UINT GetCount() const;
    BOOL InitDisk(const CString& pszDiskPath) const;

private:
    CList<DISK_DRIVE_INFO, DISK_DRIVE_INFO&> m_diskDrives;
};